Python学习
第一个python程序: 在搭建完成python环境后,我们在python编译器中来写我们的第一个Python程序 “Hello,world !” print("Hello,world !")变量 变量是编程语言中用来在内存中存储规定范围的值,并且值可以被改变。 变量命名规则: 1 第一个字符必须是字母表中的字母或下划线 2标识符的其他部分有字母,数字和下划线组成 3 标识符对大小写敏感 不能使用下面的系统保留关键字做为变量名称['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] 变量示例:name = "xiaoming" name 就是变量的名称,xiaoming是变量的值 name= "xiaohong" 现在,name变量的值就被改变为xiaohong 变量存储的是指向内存中值的路径, name = "xiaoming" name2 = name name = "xiaohong" 给变量name赋值为xiaoming 将变量name的值付给neme2 在改变变量name 的值为xiaohong 所以现在打印的结果是:变量 name = xiaohong ,变量name2 = xiaoming常量和变量都是用来在内存中存储规定范围的值,常量和变量的区别是变量的值可以被改变,而常量的值一旦被确定,则不能被更改。
而python语言中不支持常量,但如果我们需要定义常量,一般使用变量来代替,为了避免常量与变量混淆,我们约定常量一般使用全字母大写来表示。如 NAME = “changliang”
python字符编码
字符编码介绍 ASCII 基本的 ASCII 字符集共有 128 个字符,其中有 96 个可打印字符,包括常用的字母、数字、标点符号等,另外还有 32 个控制字符。标准 ASCII 码使用 7 个二进位对字符进行编码,对应的 ISO 标准为 ISO646 标准。下表展示了基本 ASCII 字符集及其编码: GB2312 为了满足国内计算机中使用汉字的需求,中国国家标准总局发布的国家标准编码,GB2312共收录了7445个字符,其中6763个汉字和682个其他字符。 GBK1.0 后来GB2312扩展成GBK1.0,GBK1.0收录了21886个字符。在1995年GBK1.0成为国家正式标准 GB18030 后来GBK1.0也不够用了,在2000年GB18030取代了GBK1.0 成为了国家新的正式标准。 Unicode 因ASCII无法将全世界的所有文字和符号全部表示。所以新推出了一种可以表示所有字符的编码,所有的字符占用2个字节 UTF-8 在Unicode 编码的基础上改为英文字符占用1个字节,中文字符占用3个字节。现在成为最流行使用的编码注释 在所有编程语言中,注释都是相当重要的,目的是为了让别人和自己很容易看懂。为了让别人一看就知道这段代码是做什么用的。 python中注释的使用方法: 单行注释 # python中每行 #号后面的都会被解释为注 比如: # 这是一行注释多行注释 ''' '''
多行注释以三个单引号或双引号开始和结尾,中间的部分为注释部分 比如''' 这是好几行注释 O(∩_∩)O ''' 多行注释的使用 多行注释并不止可以当作注释,也可以用于多行输出打印 zhushi = ''' 将这个注释赋值给变量zhushi '''' print(zhushi) 这样就可以在按照格式打印了 多行字符串拼接 格式化输出在各种语言中都是频繁使用的 python中有好几种方法来格式化输出 比如使用占位符: name = "xiaoming" age = 18 job = "IT" infor = ''' --------hell , %s------- name : %s age: %d job: %s ------------------------''' % (name,name,age,job)在上面的例子中使用了占位符来表示变量,常用的占位符有: %s 字符串型的占位符,%d 数字整型的占位符,%f 浮点小数型的占位符
使用 print(type(变量))可以打印变量的数据类型第二种方法 format()
name = "xiaoming" age = 18 job = "IT" info2 = ''' --------hell , {name}------- name : {name} age: {age} job: {job} ------------------------''' .format(name=name,age=age,job=job) '''强制类型转换
int() 强制转换为数字类型 str() 强制转换为字符串类型用户输入交互
input()用户输入,接受的值为字符串,如果需要接收数字类型的值时,需要进行数据类行强制转换 比如接收一个数字变量: number = int(input("please input a number:")) input()密码域隐藏输入内容 首先调用getpass模块 import getpass passwd = getpass.getpass("password:")条件判断 if elif else passwd = '123456' guess_pass = getpass.getpass("please input your password :") if guess_pass == passwd : print("login success !") else: print("login failed ! the password is wrong") 上面这段代码定义了一个变量passwd,并让用户输入的密码赋值给变量guess_pass,并将用户输入的变量guess_pass和变量passwd的值进行比较,如果相等则输出登陆正确,否则输出密码错误。 条件比较 > 大于 <小于 ==等于 !=不等于 >= 大于等于 <= 小于等于 否则如果elif 判断失败后再次进行判断 num = 123 guess_num = int(input("please input a number:")) if guess_num == num: print("yes ,you got it ") elif guess_num > num: print("think smaller") else: print("think bigger")while 循环
格式 while 判断条件(true 或 false) while True num = 10 while True: guess_num = int(input("please input your number:")) if guess_num == num: print("yes ,you got it ") break elif guess_num > num: print("think smaller") else: print("think bigger") 上面的代码实现了如果输入不正确将一直循环输入,直到输入正确为止count = 0
while count > 3: print(count) count +=1 使用变量count每次循环自加进行循环次数控制for循环
for i in range(10): print(i) 使用变量i 进行循环控制,range(10)表示 {0,1,2,3,4,......,10} for i in range(0,10,2): print(i) range(0,10,2)表示 range 范围从0开始,共10位,输出2的倍数