hello python week one


python的注释 好的pytho程序员不一定非要追求 代码的简短,代码的可读性也是至关重要的

与用户交互
输入 input 会将输入内容转化为字符串
输出 print
格式化输出 %d %s 占位符 %d 只能整型, 先到先占无标记
python基本数据类型
int 整型
float 浮点型
str 字符串
list 列表
dict 字典
bool 布尔值
运算符
基本运算符 + —— * / =
逻辑运算符 == != is

python中的注释
什么是注释:对代码的解释或者评论,注释仅仅是给人看的,python不识别

注释的分类:
1.# 单行注释

2.三引号(可以是三个单也可以是三个双) '''
多行注释

'''

"""
多行注释
"""

输入
1.python3中的输入
关键字:input()
python3中的input获取的用户输入统一全部存成字符串类型

2.python2中的输入
1.input()
需要你人为的告诉input你输入的是什么数据类型

>>> name = input('please input>>>:')
please input>>>:jason
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1, in <module>
NameError: name 'jason' is not defined
>>> name = input('please input>>>:')
please input>>>:'egon'
>>> name
'egon'
>>> type(name)
<type 'str'>
>>> name = input('please input>>>:')
please input>>>:[1,2,3,4]
>>> name
[1, 2, 3, 4]
>>> type(name)
<type 'list'>

2.raw_input()
python2中的raw_input会将用户输入的数据统一也存为字符串形式
>>> name1 = raw_input('>>>>>>>>>>>>>>>>>>:')
>>>>>>>>>>>>>>>>>>:jason
>>> name1
'jason'
>>> type(name1)
<type 'str'>
>>> name1 = raw_input('>>>>>>>>>>>>>>>>>>:')
>>>>>>>>>>>>>>>>>>:[1,2,3,4,5]
>>> name1
'[1,2,3,4,5]'
>>> type(name1)
<type 'str'>

总结:用户输入的统一都是字符串形式


代码一旦改动,必须重新执行以下所改动的py文件
不然的话,程序执行的还是你未改动之前的代码(******)

格式化输出

    ```python
    name=input('please input your username:')
    age=input('please input your age:')
    print('my name is',name,'my age is',age)
    print('my name is %s,my age is %s' %(name,age))
    
    '''
    my name is 输入的用户名,my age is 输入的年龄
    '''
    
    print('my name is %s my age is %s' %(18,'egon'))
    
    
    print('my name is %s my age is %d' %('egon',18))
    print('my name is %s my age is %s' %('egon',18))
    print('my name is %s my age is %s' %('egon',[1,2,3])) # %s可以接收任意类型的值
    print('my name is %s my age is %d' %('egon','xxx')) # %d只能接收数字类型
    



数据类型
什么是数据:衡量/记录事物的状态/特征
什么是类型:不同的数据应该有不同的类型来存储
比如:文本,视频,音频。。。


int 整型 1,5,56,9165
float 浮点型 1.1,,5.0
str 字符串 ‘中的一切内容’多用于存储注释信息
list 列表 有序索引的数据类型 list[0]作为第一位的数据开头
students_info=[
    ['egon',18,['play',]],
    ['alex',18,['play','sleep']]
]
print(students_info[1][2][0])

dict 字典 kv键值对 用k来访问v
info={'name':'egon','sex':'male','age':18} info=dict({'name':'egon','sex':'male','age':18})
print(type(info))
print(info['name'])
d={'a':{'va':[1,5,9]},'b':'vb','c':'vc','d':'vd'}
print(d['a']['va'][2])


bool 布尔值 判断值
# 算数运算
res=1 + 3
print(res)
print(1 + 3)
print(10 / 3) #结果保留小数部分
print(10 // 3) # 只保留整数部分
print(10 % 3) # 取余数
print(2**3)

# 比较运算:== != > < >= <=
# 了解知识:
# 数字之间可以互相比较大小
print(10 > 3)
print(10 > 3.1)

# 而字符串只能与字符串比较大小(按照对应位置的字符参考ASCII表去比较的)
msg1='hello'
msg2='z'
print(msg1 > msg2)

# A-Za-z
print('a' > 'Z')
print('Z' > 'Y')
print(len('hello') > 3)
print('a' > 3)

#列表只能与列表比较大小(按照对应位置的值依次比较,对应位置的值必须是相同的类型)
l1=[1,2,3]
l2=[10,]
print(l2 > l1)
l3=[10,2,'b',3]
l4=[10,2,'b','c']
print(l3 > l4)




# 赋值运算
age = 18
# 增量赋值
age += 1 #age=age+1
print(age)

# 链式赋值
x=100
y=x
z=x

x=z=y=100
print(id(x),id(y),id(z))

# 交叉赋值
m=1000
n=2000

# temp=m
# m=n
# n=temp
n,m=m,n
print(m,n)

# 解压赋值
salaries=[11,22,33,44,55,]
mon1=salaries[0]
mon2=salaries[1]
mon3=salaries[2]
mon4=salaries[3]
mon5=salaries[4]
mon1,mon2,mon3,mon4,mon5=salaries
print(mon1,mon2,mon3,mon4,mon5)

# 等号右面包含的值的个数必须与等号左边变量名的个数一致
mon1,mon2,mon3,mon4,mon5,mon6=salaries
mon1,mon2,mon3,mon4,=salaries

_=3333
print(_)
mon1,mon2,_,_,_=salaries # 下划线最终被赋值为55
mon1,mon2,*_=salaries
print(mon1)
print(mon2)

salaries=[11,22,33,44,55,]
first=salaries[0]
last=salaries[4]

first,_,_,_,last=salaries
first,*_,last=salaries
print(first)
print(last)

```

### 逻辑运算

```python
age=20
sex='female'
#逻辑运算
# and:连接左右两个条件,只有在两个条件同时成立的情况下最终结果才为True
print(age > 18 and age < 26 and sex == 'female' and 1 > 3)

# or:连接左右两个条件,但凡有一个条件成立最终结果就为True
print(1 > 3 or 2 > 4 or 'x' == 'y' or 1==1)

# not
print(not 1 > 3)
print(not (1 > 3 or 2 > 4 or 'x' == 'y' or 1==1))

res=(3>4 and 4>3) or (1==3 and ('x' == 'x' or 3 >3))
print(res)
```

猜你喜欢

转载自www.cnblogs.com/liouk/p/11116456.html