初识python(二)
1.变量
- 变量:把程序运行的中间结果临时的存在内存里,以便后续的代码调用。
1.1 声明变量:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
name = "zgc"
- 上述代码声明了一个变量,变量名为:name,变量name的值为:”zgc”
- 变量的作用:昵称,其代指内存里某个地址中保存的内容
1.2变量定义的规则
-
变量名只能是字母、数字、下划线的任意组合
-
变量名的第一个字符不能是数字
-
以下关键字不能声明为变量名:
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec',
'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield'] -
变量的定义要具有可描述性(见名知意)
1.3推荐定义方式:
#驼峰体
AgeOfOldboy = 56
NumberOfStudents = 80
#下划线
age_of_oldboy = 56
number_of_students = 80
1.4变量赋值:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
name1 = "zhugaochao"
name2 = "zgc"
1.5定义变量不好的方式举例:
- 变量名为中文、拼音
- 变量名过长
- 变量名词不达意
2.常量
常量即指不变的量,如pai 3.141592653…, 或在程序运行过程中不会改变的量
举例,假如老男孩老师的年龄会变,那这就是个变量,但在一些情况下,他的年龄不会变了,那就是常量。在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量
AGE_OF_OLDBOY = 56
3.程序交互:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 将用户输入的内容赋值给 name 变量
name = input("请输入用户名:")
# 打印输入的内容
print(name)
执行脚本就会发现,程序会等待你输入姓名后再往下继续走。
可以让用户输入多个信息,如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
name = input("What is your name?")
age = input("How old are you?")
hometown = input("Where is your hometown?")
print("Hello ",name , "your are ", age , "years old, you came from",hometown)
4.基础数据类型(初始)。
4.1整数类型(int)
-
int(整型)
在32位机器上,整数的位数为32位,取值范围为-2147483648~2147483647 在64位系统上,整数的位数为64位,取值范为:-9223372036854775808~9223372036854775807
-
long(长整型)
Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。 注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。 注意:在Python3里不再有long类型了,全都是int
4.2字符串类型(str)
在Python中,加了引号的字符都被认为是字符串!
>>> name = "bigtree" #双引号
>>> age = "22" #只要加引号就是字符串
>>> age2 = 22 #int
>>>
>>> msg = '''My name bigtree, I am 22 years old!''' #我擦,3个引号也可以
>>>
>>> hometown = 'HeNan' #单引号也可以
多引号什么作用呢?作用就是多行字符串必须用多引号
msg = '''
今天我想写首小诗,
歌颂我的同桌,
你看他那乌黑的短发,
好像一只炸毛鸡。
'''
print(msg)
4.3字符串的拼接
数字可以进行加减乘除等运算,字符串也可以,但只能进行"相加"和"相乘"运算。
>>> name
'bigtree'
>>> age
'22'
>>>
>>> name + age #相加其实就是简单拼接
'bigtree22'
>>>
>>> name * 10 #相乘其实就是复制自己多少次,再拼接在一起
'bigtree bigtree bigtree bigtree bigtree bigtree bigtree bigtree bigtree bigtree'
注意:字符串的拼接只能是双方都是字符串,不能跟数字或其它类型拼接
>>> type(name),type(age2)
(<type 'str'>, <type 'int'>)
>>>
>>> name
'Alex Li'
>>> age2
22
>>> name + age2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects #错误提示数字 和 字符 不能拼接
5.格式化输出
name = input("Name:")
age = input("Age:")
job = input("Job:")
hobbie = input("Hobbie:")
info = '''
------------ info of %s ----------- #这里的每个%s就是一个占位符,本行的代表 后面拓号里的 name
Name : %s #代表 name
Age : %s #代表 age
job : %s #代表 job
Hobbie: %s #代表 hobbie
------------- end -----------------
''' %(name,name,age,job,hobbie) # 这行的 % 号就是 把前面的字符串 与拓号 后面的 变量 关联起来
print(info)
%s就是代表字符串占位符,除此之外,还有%d,是数字占位符, 如果把上面的age后面的换成%d,就代表你必须只能输入数字。
6.基本运算符
-
算数运算
以下假设变量:a=10,b=20
-
比较运算
以下假设变量:a=10,b=20
-
赋值运算
以下假设变量:a=10,b=20
-
逻辑运算
-
逻辑运算优先级
1.在没有()的情况下not 优先级高于 and,and优先级高于or,即优 先级关系为( )>not>and>or,同一优先级从左往右计算。 2 .x or y , x为真,值就是x,x为假,值是y; x and y, x为真,值是y,x为假,值是x。
- in,not in 用法
判断子元素是否在原字符串(字典,列表,集合)中:
例如:
#print('喜欢' in 'dkfljadklf喜欢hfjdkas')
#print('a' in 'bcvd')
#print('y' not in 'ofkjdslaf')