python100days学习笔记--02语言元素

    科技2022-08-21  112

    原文:https://github.com/jackfrued/Python-100-Days

    语言元素

    变量和类型

    Python 3.x中整数只有int这一种了,而且支持二进制(如0b100,换算成十进制是4)、八进制(如0o100,换算成十进制是64)、十进制(100)和十六进制(0x100,换算成十进制是256)的表示法。浮点型:浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,浮点数除了数学写法(如123.456)之外还支持科学计数法(如1.23456e2)。字符串型:字符串是以单引号或双引号括起来的任意文本,比如'hello'和"hello",字符串还有原始字符串表示法、字节字符串表示法、Unicode字符串表示法,而且可以书写成多行的形式(用三个单引号或三个双引号开头,三个单引号或三个双引号结尾)。

    变量命名

    PEP 8要求: 用小写字母拼写,多个单词用下划线连接。受保护的实例属性用单个下划线开头(后面会讲到)。私有的实例属性用两个下划线开头(后面会讲到)。

    变量的使用

    type()可以查看变量类型

    可以使用Python中内置的函数对变量类型进行转换。

    int():将一个数值或字符串转换成整数,可以指定进制。float():将一个字符串转换成浮点数。str():将指定的对象转换成字符串形式,可以指定编码。chr():将整数转换成该编码对应的字符串(一个字符)。ord():将字符串(一个字符)转换成对应的编码(整数)。

    下面的代码通过键盘输入两个整数来实现对两个整数的算术运算。

    """ 使用input()函数获取键盘输入(字符串) 使用int()函数将输入的字符串转换成整数 使用print()函数输出带占位符的字符串 以下代码在终端中运行 """ a = int(input('a = ')) b = int(input('b = ')) print('%d + %d = %d' % (a, b, a + b)) print('%d - %d = %d' % (a, b, a - b)) print('%d * %d = %d' % (a, b, a * b)) print('%d / %d = %f' % (a, b, a / b)) print('%d // %d = %d' % (a, b, a // b)) print('%d %% %d = %d' % (a, b, a % b)) print('%d ** %d = %d' % (a, b, a ** b))

    说明:上面的print函数中输出的字符串使用了占位符语法,其中%d是整数的占位符,%f是小数的占位符,%%表示百分号(因为百分号代表了占位符,所以带占位符的字符串中要表示百分号必须写成%%),字符串之后的%后面跟的变量值会替换掉占位符然后输出到终端中,运行上面的程序,看看程序执行结果就明白啦。

    运算符

    运算符描述[] [:]下标,切片**指数~ + -按位取反, 正负号* / % //乘,除,模,整除+ -加,减>> <<右移,左移&按位与^ \|按位异或,按位或<= < > >=小于等于,小于,大于,大于等于== !=等于,不等于is is not身份运算符in not in成员运算符not or and逻辑运算符= += -= *= /= %= //= **= &= |= ^= >>= <<=(复合)赋值运算符

    说明: 在实际开发中,如果搞不清楚运算符的优先级,可以使用括号来确保运算的执行顺序。

    赋值运算符

    a = 10 b = 3 a += b # 相当于:a = a + b a *= a + 2 # 相当于:a = a * (a + 2) print(a) # 算一下这里会输出什么

    字符串

    ''' 字符串常用操作 ''' str1='hello,world' print('字符串的长度是:', len(str1)) print('单词首字母大写: ', str1.title()) print('字符串变大写: ', str1.upper()) # str1 = str1.upper() print('字符串是不是大写: ', str1.isupper()) print('字符串是不是以hello开头: ', str1.startswith('hello')) print('字符串是不是以hello结尾: ', str1.endswith('hello')) print('字符串是不是以感叹号开头: ', str1.startswith('!')) print('字符串是不是一感叹号结尾: ', str1.endswith('!')) str2 = '- \u9a86\u660a' str3 = str1.title() + ' ' + str2.lower() print(str3)

    练习

    练习1:华氏温度转换为摄氏温度。

    提示:华氏温度到摄氏温度的转换公式为: C = ( F − 32 ) ÷ 1.8 C=(F - 32) \div 1.8 C=(F32)÷1.8。 参考答案:

    """ 将华氏温度转换为摄氏温度 """ f = float(input('请输入华氏温度: ')) c = (f - 32) / 1.8 print('%.1f华氏度 = %.1f摄氏度' % (f, c))

    说明:在使用print函数输出时,也可以对字符串内容进行格式化处理,上面print函数中的字符串%.1f是一个占位符,指占位保留一位小数,同理,%.2f则是指保留两位小数,稍后会由一个float类型的变量值替换掉它。同理,如果字符串中有%d,后面可以用一个int类型的变量值替换掉它,而%s会被字符串的值替换掉。除了这种格式化字符串的方式外,还可以用下面的方式来格式化字符串,其中{f:.1f}和{c:.1f}可以先看成是{f}和{c},表示输出时会用变量f和变量c的值替换掉这两个占位符,后面的:.1f表示这是一个浮点数,小数点后保留1位有效数字。

    print(f'{f:.1f}华氏度={c:.1f}摄氏度')

    练习2:输入圆的半径计算计算周长和面积

    参考答案:

    ''' 输入半径计算圆的周长和面积 ''' radius = float(input('请输入圆的半径: ')) perimeter = 2 * 3.1416 * radius area = 3.1416 * radius * radius print('周长: %.2f' % perimeter) print('面积: %.2f' % area)

    #### 练习3:输入年份判断是不是闰年。参考答案:

    """ 输入年份 如果是闰年输出True 否则输出False """ year = int(input('请输入年份: ')) # 如果代码太长写成一行不便于阅读 可以使用\对代码进行折行 is_leap = year % 4 == 0 and year % 100 != 0 or \ year % 400 == 0 print(is_leap)

    说明:比较运算符会产生布尔值,而逻辑运算符and和or会对这些布尔值进行组合,最终也是得到一个布尔值,闰年输出True,平年输出False。

    Processed: 0.017, SQL: 9