输出
print('hello, world')
输出多个字符串,逗号变成空格输出
print('The quick brown fox', 'jumps over', 'the lazy dog')
The quick brown fox jumps over the lazy dog
字符串和空格一起输出
a = 1
b = 2
print('a+b=',a+b)
"D:\Program Files\Python\Python36\python.exe" E:/PythonLearn/ProcessTest/basicgrammer/jichu.py
hello, world
The quick brown fox jumps over the lazy dog
a+b= 3
输入
name = input('请输入你的名字:')
print('你的名字是:'+name)
控制台
"D:\Program Files\Python\Python36\python.exe" E:/PythonLearn/ProcessTest/basicgrammer/jichu.py
请输入你的名字:basic
你的名字是:basic
数据类型
变量的命名与使用
- 变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打
头,例如,可将变量命名为message_1,但不能将其命名为1_message。 - 变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名greeting_message
可行,但变量名greeting message会引发错误。 - 不要讲关键字和函数名作为变量名。
- 变量名应既简短又具有描述性。例如,name比n好,student_name比s_n好,name_length
比length_of_persons_name好。
整数,浮点数
Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等。
计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等。
浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是完全相等的。浮点数可以用数学写法,如1.23,3.14,-9.01,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。
整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。
字符串
字符串是以单引号’或双引号"括起来的任意文本,比如’abc’,"xyz"等等。
如果 ’ 本身也是一个字符串,那就可以用 “” 括起来。
如果一个字符串里面既包含单引号(’),也包含双引号("),那就可以用转义字符(/)来标识
比如
str = 'I\'m \"OK\" '
print(str)
控制台输出
"D:\Program Files\Python\Python36\python.exe" E:/PythonLearn/ProcessTest/basicgrammer/jichu.py
I'm "OK"
同时,python中还可以用r’‘表示’'内部字符串默认不转义
如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用’’’…’’'的格式表示多行内容
print('''line1
... line2
... line3''')
line1
line2
line3
如果写成程序并存为.py文件,就是:
print('''line1
line2
line3''')
修改字符串的大小写
str.title():将str首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写。
name = "ada lovelace"
print(name.title()) #输出:Ada Lovelace
str.upper():将str转换为大写
str.lower():将str转换为小写
name = "Ada Lovelace"
print(name.upper()) #将输出ADA LOVELACE
print(name.lower()) #将输出ada lovelace
2.3.2 拼接字符串
Python使用加号( + )来合并字符串
first_name = "ada"
last_name = "lovelace"
full_name = first_name + " " + last_name
print(full_name) #输出 ada lovelace
2.3.3 使用制表符或换行符来添加空白
2.3.4 使用方法strip()来删除空白
使用rstrip()去除字符串右边的空格
使用lstrip()去除左边的空格,使用strip()去除两边的空格。
布尔值
布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来:
Python 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 03:37:03) [MSC v.1900 64 bit (AMD64)] on win32
True
True
3>2
True
3>5
False
if(0):
print('0是True')
else:
print('0是False')
输出
"D:\Program Files\Python\Python36\python.exe" E:/PythonLearn/ProcessTest/basicgrammer/jichu.py
0是False
空值(None)
空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。
动态语言
变量本身类型不固定的语言称之为动态语言。
静态语言
静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。例如Java是静态语言
列表(list)
list是一种有序的集合,可以随时添加和删除其中的元素。
列表的命名一般是一个表示复数的名称(如 letters 、 digits 或 names )
创建一个列表
list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
查看list中的元素个数
list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
>>>len(list1)
4
>>>len(list2)
5
用索引来访问list中的每一个位置的元素,索引从0开始(查)
>>> classmates = ['Michael', 'Bob', 'Tracy']
>>> classmates
['Michael', 'Bob', 'Tracy']
>>> classmates[0]
'Michael'
>>> classmates[1]
'Bob'
>>> classmates[2]
'Tracy'
//当索引超出范围时,会报出IndexError的错误
>>> classmates[3]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素:
>>> classmates[-1]
'Tracy'
以此类推,可以获取倒数第2个、倒数第3个:
>>> classmates[-2]
'Bob'
>>> classmates[-3]
'Michael'
>>> classmates[-4]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
往list中添加数据(增)
1.将元素插入到指定位置
使用insert(index,object)将’Jack’插入到classmates的第二个位置(索引号为1)
>>> classmates.insert(1, 'Jack')
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy']
2.使用 append(object) 函数往list中追加元素到末尾
将Adam追加到classmates末尾
>>> classmates.append('Adam')
>>> classmates
['Michael', 'jack', 'Bob', 'Tracy', 'Adam']
删除list中的元素(删)
1 使用 pop() 函数删除list末尾的元素
删除classmates末尾的’Adam’
>>> classmates.pop()
'Adam'
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy']
2 使用 pop(index) 删除指定位置的元素
删除classmates索引位为1的元素’Jack’
>>> classmates.pop(1)
'Jack'
>>> classmates
['Michael', 'Bob', 'Tracy']
修改list中的元素(改)
根据索引号修改指定元素
>>> classmates[1] = 'Sarah'
>>> classmates
['Michael', 'Sarah', 'Tracy']
关于list中的元素
list里面的元素的数据类型也可以不同,比如:
L = ['Apple', 123, True]
list中的元素也可以是另外一个list
>>> s = ['python', 'java', L, 'scheme']
>>> len(s)
4
>>> s
['python', 'java', ['Apple', 123, True], 'scheme']
此时,拿到Apple的值索引位s[2][0]
元组(tuple)
元组(tuple)也是一种 有序列表,与list十分相似,但是tuple一旦初始化就不能修改了。
定义一个tuple
>>> classmates = ('Michael', 'Bob', 'Tracy')
现在,classmates这个tuple不能变了,它也没有append(),insert()这样的方法。其他获取元素的方法和list是一样的,你可以正常地使用classmates[0],classmates[-1],但不能赋值成另外的元素。也就是只能查了。
tuple陷阱
当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来,如果要定义一个空的tuple,可以写成():
>>> t = ()
>>> t
()
但是,要定义一个只有1个元素的tuple,如果你这么定义:
>>> t = (1)
>>> t
1
定义的不是tuple,是1这个数!这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1。
所以,只有1个元素的tuple定义时必须加一个逗号,,来消除歧义:
>>> t = (1,)
>>> t
(1,)
Python在显示只有1个元素的tuple时,也会加一个逗号,,以免你误解成数学计算意义上的括号。
字典(dict)
字典是一个键值对表
创建字典
>>> person_0 = {'name':'basic','age':24,'height':172.3}
>>> person_0
{'name': 'basic', 'age': 24, 'height': 172.3}
遍历字典
user_0 = {
'username': 'efermi',
'first': 'enrico',
'last': 'fermi',
}
for key, value in user_0.items(): #dict.items()返回一个键值对列表
print("\nKey: " + key)
print("Value: " + value)
遍历字典中所有的键
favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
for name in favorite_languages.keys():
print(name.title())