Python学习(一)

本文介绍了Python编程中的数据类型特点,如无需声明变量数据类型,数组和集合允许不同元素类型,强调了元组的不可变性,以及列表切片和字典的应用。还提及了函数定义、文件访问、集合操作以及列表推导和用字典创建对象的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 感觉最明显的是Python不需要定义数据类型! 声明变量不需要,函数返回值不需要,参数列表也不需要。
  • 不需要定义结构体,不需要定义成员
  • 数组,集合里的元素的数据类型可以是不一样的!

这些让我好不适应,估计写多了就是适应了。copy下我练习的代码,方便以后查看

 

  • 下面代码涉及: 链表(list),元组(truplea), 字典(dict),分别用[],(),{} 定义

注意truplea是不能修改,防止修改时用。[n1:n2]列表的切片

dict可以用于创建对象,后面的例子会涉及。

#!/usr/bin/python

# 打印“Hi, Python”
message = 'Hi, Python.'
print(message)


# 建立姓名列表"张三", "李四", "王二麻子", "ken"
nameList = ["张三", "李四", "王二麻子", "ken"]

# 打印姓名列表
print(nameList)

# 打印最后一个和倒数第二的名字, +和- 代表方向, -1代表从后面数第一个元素(即最后一个元素)
print(nameList[-1])
print(nameList[-2])

# 从王二麻子开始打印
print(nameList[2:])

# 用Mark替换王二麻子
nameList[2] = "Mark"

# 打印李四到markmei
print(nameList[1:2])

# 元组合列表的区别是?
# 答:元组不能修改。 防止别人误修改的时候用。

# 建立元组"aa", "bb", "ccc"
tuplea = ("aa", "bb", "ccc")
print(tuplea)
print(tuplea[1:])
#tuplea[2] = "cc" #错误,元组不能修改

# 字典跟列表的区别是?
# 答:字典每一个元素都是键值对应的。如果想通过键找到数据,建议使用字典。


# 建立key为key1, value为value1和 key为key2, value为value2的字典
dicta = {"key1": "value1", "key2": "value2"}

# dict增加一项
dicta["key3"] = "value3"
# 打印字典
print(dicta)

# 打印字典的所有的key值
print(dicta.keys())

# 打印字典的所有的value值
print(dicta.values())

# 打印字典的key为"key2"的value值
print(dicta["key2"])
  • 定义函数 
#!/usr/bin/python
"""
题目
men = ["张三",["李四, [王五]"]]
用函数和递归方法,打印出
人员信息:张三
人员信息:李四
人员信息:王五
"""


def myprint(alist):
    for item in alist:
        if isinstance(item, list):  # 如果item是个list
            myprint(item)
        else:
            print("人员信息:" + item)


men = ["张三", ["李四", ["王五"]]]
myprint(men)
  • 访问文件 
#!/usr/bin/python

"""
在c盘的根目录下创建一个文件textfile.txt
在文件里随意输入些内容
用Python程序把文件的内容显示出来
"""

# 方法一
print("方法一")
file = open("c:/textfile.txt")
while True:
    b = file.readline()
    if not b:
        break
    else:
        print(b)
file.close()

# 方法二
print("方法二")
file = open("c:/textfile.txt")
for line in file:
    print(line)
file.close()


# 方法三
print("方法三")
with open("c:/textfile.txt") as file:
    for line in file:
        print(line)


# 写文件
with open("c:/test.txt", "w") as file:
    print("I can't forget", file=file)
    print("I can forget later", file=file)
  •  not in可以用set代替,而且set是最简单去除重复项的方法
#!/usr/bin/python

"""
scores = ["2.01", "2-01", "2:05", "2.03", "2.04"]
用程序先把非小数点分隔符改成小数点:"2-01" = 2.01, "2:05" = 2.05
剔除重复项,
再排序,
最后打印
"""

def fixString(str):
    if "-" in str:
        splitter = "-"
    elif ":" in str:
        splitter = ":"
    else:
        splitter = "."
    (minu, second) = str.split(splitter)
    return minu + "." + second

newScores = []
scores = ["2.01", "2-01", "2:05", "2.03", "2.04"]
for s in scores:
    fixed = fixString(s)
    if fixed not in newScores:
        newScores.append(fixed)
newScores.sort()
print(newScores)

  • 列表的推导及用dict创建对象 
#!/usr/bin/python

"""
列表里放一些整数,使用推导列表的方法,让其所有整数都翻倍
例如,变更前:
numbers = [1, 3, 5, 7, 9]
变更后:
numbers = [2, 6, 10, 14, 18]
"""
numbers = [1, 3, 5, 7, 9]
numbers = [item * 2 for item in numbers]
print(numbers)

"""
line = ["Mark", "male", "25", "2.05", "2.03", "2.04"],里面的内容分别对应名字,性别,年龄和历史成绩。
使用dict来创建一个对象human,
它的name的key对应:Mark
性别male的key对应:male
它的年龄age的key对应:25
成绩属性(scores)的key对应:"2.05", "2.03", "2.04"
"""

line = ["Mark", "male", "2.05", "2.03", "2.04"]
human = {}
human['name'] = line.pop(0)
human['male'] = line.pop(0)
human['age'] = line.pop(0)
human['scores'] = line

print(human)



line = ["Mark", "male", "25", "2.05", "2.03", "2.04"]
"""define the dict"""
newlist=[line[3:]]
print(dict([('name',line[0]),('male',line[1]),('age',line[2]),('score',newlist)]))

a = set('boy')
print(a)
b = set('terrible')
print(b)
print(a & b)
print(a | b)
print(a - b)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值