参考教材连接: https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000
- print("你好 世界")
- name=["lll","gx","zj","xx"]
- print(name[-2])
- # 判断测试
- xmTail=1.75
- xmWight=80.5
- BMI=xmWight/(xmTail*xmTail)
- print(BMI)
- if BMI<18.5:
- print("小明过轻")
- elif BMI>=18.5 and BMI<25:
- print("小明正常")
- elif BMI>=25 and BMI <28:
- print("小明过重")
- elif BMI>=28 and BMI < 32:
- print("小明肥胖")
- else :
- print("小明严重肥胖")
- # 循环测试
- names=["xiaoli","dali","li","guan"]
- for name in names:
- print(name)
- numbers=[1,2,3,4,5]
- # range(5)函数是生产序列数方法
- for number in range(5):
- print(number)
- # python 中的 dict 类似 java 中的 map
- dict = {'Michael': "kjksd",'Bob': "kkkk",'Tracy': "ooxx"}
- print( dict['Michael'])
- # 判断可以是否存在
- print('Thomas' in dict)
- # 如果 jjk 不存在返回 None
- print(dict.get("jjk"))
- # 删除 dict 中的值
- dict.pop('Bob')
- print(dict)
- # set 类似于数组无序 不重复
- s = set([1, 2, 3])
- print(s)
- s.add("s")
- print(s)
- s.remove("s")
- print(s)
- s1 = set([1, 2, 3])
- s2 = set([2, 3, 4])
- print("s1 取交集")
- print(s1 & s2)
- print("s1 取并集")
- print(s1 | s2)
- # 取绝对值
- print(abs(-1.23))
- print(abs(1.23))
- # 取最大值
- print(max(1,2,3,4,5,8))
- arr=[1,2,3,4,4,5]
- print(max(arr))
- # 取最小值
- print(min(1,2,3,4,5,8))
- arr=[1,2,3,4,4,5]
- print(min(arr))
- # 类型转换
- print(int('123'))
- print(int(12.34))
- print(float('12.34'))
- print(str(1.23))
- print(str(100))
- print(bool(1))
- print(hex(23))
- # 函数的定义和调用
- from _ast import Num
- def sum_seris(x):
- sum=0
- for number in range(x):
- print(number)
- sum = sum + number
- return sum
- # 调用函数
- print(sum_seris(10))
- # 不做任何处理用 pass
- def Test_number(x):
- s=0
- if x==5:
- s=100
- elif x==10:
- s=1000
- else:
- pass
- return s
- print(Test_number(11))
- # 参数检查
- def Test_number1(x):
- if not isinstance(x, (int, float)):
- raise TypeError('参数类型不对')
- s=0
- if x==5:
- s=100
- elif x==10:
- s=1000
- else:
- pass
- return s
- print(Test_number1(11))
- # python 可以有多个返回值
- # 默认返回值
- def infor(name,gender,age=7,city="wuhan"):
- print('name:', name)
- print('gender:', gender)
- print('age:', age)
- print('city:', city)
- print(infor("lll","n"))
- print(infor("zj","w",6))
- print(infor("gx","w",6,'hefei'))
- # 传递 list 参数
- def calc(numbers):
- sum = 0
- for n in numbers:
- sum = sum + n * n
- return sum
- print(calc([1, 2, 3]))
- print(calc([1, 2, 3,7,9]))
- # 传递可变参数
- def calcs(*numbers):
- sum = 0
- for n in numbers:
- sum = sum + n * n
- return sum
- print(calcs(1, 2, 3))
- print(calcs())
- #python 中的切片操作符 slice
- L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']
- print(L[0:3])
- print(L[:3])
- print(L[0:])
- LL=L = list(range(100))
- print(LL[:10:2]) #前 10 个数, 每两个取一个
- print(LL[::5]) #取所有, 每五个取一个
- # 列表生成式代替循环
- print([x * x for x in range(1, 11)])
- #for 循环后面还可以加上 if 判断 仅偶数的平方
- print([x * x for x in range(1, 11) if x % 2 == 0])
- # 双重循环
- print([m + n for m in 'ABC' for n in 'XYZ'])
- # 判断是否为数字或者字母
- # 用 isdigit 函数判断是否数字
- str_1 = "123"
- str_2 = "Abc"
- str_3 = "123Abc"
- print(str_1.isdigit())
- # 用 isalpha 判断是否字母
- print(str_1.isalpha())
- #isalnum 判断是否数字和字母的组合
- print(str_1.isalpha())
- # 生成器
- g = (x * x for x in range(10))
- print(next(g))
- #map()传入的第一个参数是 f, 即函数对象本身.
- # 由于结果 r 是一个 Iterator,Iterator 是惰性序列,
- # 因此通过 list()函数让它把整个序列都计算出来并返回一个 list.
- from _functools import reduce
- def f(x):
- return x+x
- r = map(f,[1,2,3])
- print(list(r))
- #reduce 把一个函数作用在一个序列 [x1, x2, x3, ...] 上,
- # 这个函数必须接收两个参数, reduce 把结果继续和序列的下一个元素做累积计算
- def add(x,y):
- return x+y
- print(reduce(add,[1,3,5,7]))
- # 练习把用户输入的不规范的英文名字, 变为首字母大写, 其他小写的规范名字
- def returnName(Str):
- rStr=''
- for n,x in enumerate(Str,1):
- if x.islower() and n==1:
- x=x.upper()
- elif x.isupper() and n !=1:
- x=x.lower();
- rStr=rStr+x
- return rStr
- print(returnName("admin"))
- print(list(map(returnName,['adam', 'LISA', 'barT'])))
- #upper() : 将字符串转成大写, 并返回一个拷贝
- #lower() : 将字符串转成小写, 并返回一个拷贝
- #capitalize() : 将字符串首字母, 并返回一个拷贝
- #title() : 将每个单词的首字母大写, 并返回一个拷贝
- #isupper() : 判断一个字符串是否是大写
- #islower() : 判断一个字符串是否是小写
- #filter()也接收一个函数和一个序列. 和 map()不同的是, filter()把传入的函数依次作用于每个元素
- #, 然后根据返回值是 True 还是 False 决定保留还是丢弃该元素.
- def is_odd(n):
- return n % 2 == 1
print(list(filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15])))
print(list(map(is_odd, [1, 2, 4, 5, 6, 9, 10, 15])))
- #Python 内置的 sorted()函数就可以对 list 进行排序
- print(sorted([36, 5, -12, 9, -21]))
- # 绝对值大小排序
- print(sorted([36, 5, -12, 9, -21], key=abs))
- # 倒序排列
- print(sorted([36, 5, -12, 9, -21],reverse=True))
- # 字母排序可实现忽略大小写的排序
- print(sorted(['bob', 'about', 'Zoo', 'Credit'], key=str.lower))
- # 关键字 lambda 表示匿名函数, 冒号前面的 x 表示函数参数
- print(list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9])))
- # 装饰器
- def log(func):
- def wrapper(*args, **kw):
- print('call %s():' % func.__name__)
- return func(*args, **kw)
- return wrapper
- @log
- def now():
- print('2015-3-25')
- print(now())
- # 偏函数 进制转换
- def int2(x, base=2):
- return int(x, base)
- print(int2('1010101'))
来源: http://www.bubuko.com/infodetail-2566690.html