1. Python预备基础
变量的命名
变量命名规则主要有以下几条:
- 变量名只能包含字母、数字和下划线,其中下划线和字母可以开头,数字不行,即info_1可以,而1_info不行;
- 变量名内不能包含空格,可以用下划线替代,即info_1,而非info 1;
- 不能与Python内置关键字和函数名重名,这条在很多语言中都是一致的;
- 变量名中要言简意赅,即可以用name替代n,student_name比s_n好;
- 慎用l和o,因为这两个字母容易与1和0混淆;
变量的使用
变量在使用时一定要保证前后一致,如
info = "Hello World!" print(infor)
由于声明变量info,而打印输出的是infor,因此程序会提示infor未定义,出现NameError的错误!
程序注释
Python中的注释方法有多重,单巷注释可以使用“#”,多行或者段落注释可以使用三对' '或者" "来进行,下面注释是等效的:
# 单行注释 ''' 多 行 注 释 ''' """ 多 行 注 释 """
2. Python数据类型
字符串
字符串的表示
Python语言中默认输入类型是字符串,字符串的使用有两种表示方法,即
info_1 = 'Hello World!' info_2 = "Hello World!" print(info_1) print(info_2)
上述两种方法打印结果相同。
字符串处理方法
字符大小写方法 — title()、upper()、lower()
info_1 = "hello world!" info_2 = "HELLO WORLD!" print(info_1.title()) print(info_1.upper()) print(info_2.lower()) ***************************************************** >> Hello World! HELLO WORLD! hello world!
字符合并(拼接)方法 — +
first_info = "Hello" last_info = "World" print(first_info + " " + last_info + "!") ***************************************************** >> Hello World!
字符空白处理方法 — rstrip()、lstrip()、strip()
info = " Hello " info_1 = info.rstrip() info_2 = info.lstrip() info_3 = info.strip() print(info_1) print(len(info_1)) print(info_2) print(len(info_2)) print(info_3) print(len(info_3)) ***************************************************** >> Hello 6 Hello 6 Hello 5
原字符串两侧各存在一个空格,即共7个字符,通过上述运行结果可以看出info_1去除了右侧空格,info_2去除了左侧的空格,因此两者共有6个字符的长度,而info_3两侧空格均去掉,因此是5个字符长度。
整数
Python中由于默认输入为字符类型,因此有时需要对数据类型进行转换:
age_1 = input("please input your age :\n") age_2 = int(age_1) print(type(age_1),age_1) print(type(age_2),age_2) ***************************************************** >> please input your age : 54 <class 'str'> 54 <class 'int'> 54
保证数据类型正确后,整数四则运算必不可少:
>> 2 + 3 ***************************************************** 5 >> 5 - 3 ***************************************************** 2 >> 2 * 3 ***************************************************** 6 >> 6 / 4 ***************************************************** 1.5 >> 3 ** 2 ***************************************************** 9
浮点数
>> 0.1 + 0.1 ***************************************************** 0.2 >> 2 * 0.1 ***************************************************** 0.2
不同数据整合
整数和浮点数同存时,整数类型自动转换为浮点类型,但浮点类型或者整数类型数据与字符串类型同存时,需要进行转换,否则将会出错,因此首先需要吧浮点类型或者整数类型数据转换为字符串类型数据,因此将用到str()。
age = 18 info = "Happy " + str(age) + "th Birthday!" print(message)
3. Python条件语句
if语句
if mark > 60 and mark < 70: print("Congratualaton, you get a D level!")
python语言中需要注意的是,不要忘记if最后一行的 :,另外根据条件多少,可以借助逻辑语句来限定条件范围,一般为and*和or两个用的较多。
if-else语句
if mark > 60: print("Congratualaton, you pass the exam!") else: print("Sorry,you should have to study hard!")
需要注意,else后也需要加上冒号,而且注意各个代码语句间的级别关系,这个可通过缩进解决。
if-elif-else语句
当条件超过两个时,可以使用多条件判断语句:
if mark > 90: print("Congratualaton, you can get A level!") elif mark > 80 and mark < 90: print("Very good, you get B level!") elif mark > 70 and mark < 80: print("Good, you get C level!") elif mark > 60 and mark < 70: print("Well, you get D level!") else: print("Sorry, you should have to study hard!")
当然,最后的else语句可以省略,换乘elif亦可。
4. while循环和for循环
while循环
_number = 10 while _number > 20: _number += 1 print(_number)
while循环基本结构如上所示,也需要注意的是在判断条件后不要忘记冒号。
在使用while循环时,需要注意设置合理的终止条件,避免出现无限循环;另外在使用while循环式,注意布尔运算的使用,可以在一定程度上提高代码的效率,使得代码看起来更整洁,其中布尔值应确保首字母大写,即True和False。
_number = 52 cond = True while cond: guess_number = int(input("Pleaw input a number:\n")) if guess_number > _number: print(str(guess_number) + " is big, you can guess a small one!\n") elif guess_number < _number: print(str(guess_number) + " is small, you can guess a big one!\n",) else: print("Congratulation, you got it!") cond = False
for循环
首先看一段代码:
# 代码1 numbers = 10 for number in range(numbers): print("***",number) # 代码2 numbers = 10 for number in range(0,numbers,2): print("***",number) # 代码3 numbers = 10 for number in range(5,numbers,2): print("***",number)
上述三个代码片段,在代码1中,着重关注下for循环的结构,其中为了方便后期记忆和查看代码,for后的临时变量最好与range内的定义变量相关,另外,不要忘记末尾的冒号;代码2和代码3中主要变化的是关键字range的使用,其中可设置首参数,即原码中的起始数字,可设置步长,代码中设置的是2 ,未设置时,程序默认步长为1。
break和continue
break的作用是不再执行余下代码,结束当前整个循环,如果嵌套了多层循环,则break终止的是当前所在循环;相对来说continue也是不再执行余下代码,但是是继续执行下个循环。
_number = 65 count = 0 while count < 3 : guess_number = int(input("guess_number: ")) if guess_number == _number: print("you got it!") break elif guess_number > _number: print("The number is bigger! ") else: print("You think smaller! ") count += 1 if count == 3: print("Do you want to keep guessing..? ") continue_confirm = input("please enter yes or no:\t") if continue_confirm == 'yes': count = 0 elif continue_confirm == 'no': break else: print("Error input")
for i in range(0,20,2): if i < 6 : print("loop",i) else: continue print("Check")
Python有列表和字典,这些利用循环处理非常方便!